package com.atguigu.bigdata.scala.chapter05

object Scala02_Function {

    def main(args: Array[String]): Unit = {

        // TODO Function - 函数
        // 所谓的函数，简单理解为就是功能的封装，在java中功能封装一般指的就是方法
        // 函数和方法是什么关系？
        // 函数和方法都表示功能的封装，所以原则来讲，两个是一回事。
        // 方法其实也是函数
        // 在scala中，将声明在特定位置的函数称之为方法。
        // 声明在类中的函数，称之为方法，所以类中的函数就应该符合方法的约束：重写和重载
        // 函数没有重写和重载的概念

        // 函数的声明
        // 当前声明的就是函数
        // def 函数名（参数列表） : 返回值类型 = {函数体}
        def test(): Unit = {
        }
        // idea中图标中有m 表示method
        // idea中图标中有f 表示function

        // 方法就是函数，正确的，函数就是方法是不对的
        // 函数可以声明在任意的地方：函数中可以声明函数,方法中也可以声明函数
        // 函数中无法声明方法的，方法中也不可能声明方法。
        // 函数是有作用域的，只能在当前的作用域中使用。
        // 方法也有作用域，在当前类中可以任意使用，在类的外部可以通过访问权限，对象的调用来访问。
    }
    def fun(): Unit = {
        //test()
    }
}
